'use strict';
const db = uniCloud.database();
const userCollection = db.collection('user');

exports.main = async (event, context) => {
  const { username, password } = event;

  // 参数校验
  if (!username || !password) {
    return {
      code: 400,
      msg: '用户名和密码不能为空'
    }
  }

  try {
    // 查询用户
    const userResult = await userCollection.where({
      username: username
    }).get();

    // 用户不存在
    if (userResult.data.length === 0) {
      return {
        code: 404,
        msg: '用户不存在'
      }
    }

    const user = userResult.data[0];

    // 密码校验
    if (user.password !== password) {
      return {
        code: 401,
        msg: '密码错误'
      }
    }

    // 登录成功，返回用户信息（不包含密码）
    const { password: _, ...userInfo } = user;
    return {
      code: 200,
      msg: '登录成功',
      data: userInfo
    }

  } catch (error) {
    return {
      code: 500,
      msg: '服务器错误',
      error: error.message
    }
  }
}; 